package com.stefanini.pe.bbva.bp.in.model;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

//import org.springframework.context.annotation.Scope;
import org.primefaces.component.column.Column;
import org.springframework.stereotype.Controller;

import com.stefanini.pe.bbva.bp.in.utils.Util;

@Controller(value="administrarCuestionarioModel") 
@SessionScoped
public class AdministrarCuestionarioModel {
	private List listaPreguntas;
	private List<SelectItem> listTipoRespuestas;
	private String param;
	private List listaAlternativas;
	private String idPregunta;
	private String ordenPregunta;
	private String tipoPregunta;
	private String despregunta;
	private String escenarios;
	private String usuarioModificacion;
	private String fechaModificacion;
	private List listaAlternativasEscenario;
	private String idTipoRespuesta;
	private boolean mostrarEscenarios;
	private List<Map<?,?>> listaIncongruencias;
	private List<Map<?,?>> headerIncongruencias;
	private List preguntasIncrg;
	private HashMap idSeccion;
	
	private List<List<Celda>> listData;
	private List<Column> listColumns;
	private List preguntasIncronguentes;
	private String strUsuUltModificacion;
	private String strFecUltModificacion;
	private String comentarios;
	
	public AdministrarCuestionarioModel() {
		idSeccion=new HashMap();
		listTipoRespuestas=new ArrayList<SelectItem>();
		listaIncongruencias = new ArrayList<Map<?,?>>();
		listColumns = new ArrayList<Column>();
		listData = new ArrayList<List<Celda>>();
		preguntasIncronguentes = new ArrayList();
	}
	
	public void setIdSeccion(HashMap idSeccion){
		this.idSeccion=idSeccion;
	}
	
	public HashMap getIdSeccion(){
		return idSeccion;
	}
	
	public List getListaPreguntas() {
		return listaPreguntas;
	}
    
	public void setListaPreguntas(List listaPreguntas) {
		this.listaPreguntas = listaPreguntas;
	}

	public List<SelectItem> getListTipoRespuestas() {
		return listTipoRespuestas;
	}

	public void setListTipoRespuestas(List<SelectItem> listTipoRespuestas) {
		this.listTipoRespuestas = listTipoRespuestas;
	}

	public String getParam() {
		return param;
	}

	public void setParam(String param) {
		this.param = param;
	}

	public List getListaAlternativas() {
		return listaAlternativas;
	}

	public void setListaAlternativas(List listaAlternativas) {
		this.listaAlternativas = listaAlternativas;
	}

	public String getIdPregunta() {
		return idPregunta;
	}

	public void setIdPregunta(String idPregunta) {
		this.idPregunta = idPregunta;
	}

	public String getDespregunta() {
		return despregunta;
	}

	public void setDespregunta(String despregunta) {
		this.despregunta = despregunta;
	}

	public String getOrdenPregunta() {
		return ordenPregunta;
	}

	public void setOrdenPregunta(String ordenPregunta) {
		this.ordenPregunta = ordenPregunta;
	}

	public String getTipoPregunta() {
		return tipoPregunta;
	}

	public void setTipoPregunta(String tipoPregunta) {
		this.tipoPregunta = tipoPregunta;
	}

	public String getFechaModificacion() {
		return Util.formatoFecha(fechaModificacion==null?"":fechaModificacion);
	}

	public void setFechaModificacion(String fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	public String getUsuarioModificacion() {
		return usuarioModificacion;
	}

	public void setUsuarioModificacion(String usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	public List getListaAlternativasEscenario() {
		return listaAlternativasEscenario;
	}

	public void setListaAlternativasEscenario(List listaAlternativasEscenario) {
		this.listaAlternativasEscenario = listaAlternativasEscenario;
	}

	public String getIdTipoRespuesta() {
		return idTipoRespuesta;
	}

	public void setIdTipoRespuesta(String idTipoRespuesta) {
		this.idTipoRespuesta = idTipoRespuesta;
	}

	public boolean isMostrarEscenarios() {
		return mostrarEscenarios;
	} 

	public void setMostrarEscenarios(boolean mostrarEscenarios) {
		this.mostrarEscenarios = mostrarEscenarios;
	}

	public List getListaIncongruencias() {
		return listaIncongruencias;
	}

	public List getHeaderIncongruencias() {
		return headerIncongruencias;
	}

	public List getPreguntasIncrg() {
		return preguntasIncrg;
	}

	public void setPreguntasIncrg(List preguntasIncrg) {
		this.preguntasIncrg = preguntasIncrg;
	}

	public String getEscenarios() {
		return escenarios;
	}

	public void setEscenarios(String escenarios) {
		this.escenarios = escenarios;
	}
 
	public List<List<Celda>> getListData() {
		return listData;
	}

	public void setListData(List<List<Celda>> listData) {
		this.listData = listData;
	}

	public List<Column> getListColumns() {
		return listColumns;
	}

	public void setListColumns(List<Column> listColumns) {
		this.listColumns = listColumns;
	}

	public List getPreguntasIncronguentes() {
		return preguntasIncronguentes;
	}

	public void setPreguntasIncronguentes(List preguntasIncronguentes) {
		this.preguntasIncronguentes = preguntasIncronguentes;
	}

	public String getStrUsuUltModificacion() {
		return strUsuUltModificacion;
	}

	public void setStrUsuUltModificacion(String strUsuUltModificacion) {
		this.strUsuUltModificacion = strUsuUltModificacion;
	}

	public String getStrFecUltModificacion() {
		return strFecUltModificacion;
	}

	public void setStrFecUltModificacion(String strFecUltModificacion) {
		this.strFecUltModificacion = strFecUltModificacion;
	}

	public void setListaIncongruencias(List<Map<?, ?>> listaIncongruencias) {
		this.listaIncongruencias = listaIncongruencias;
	}

	public void setHeaderIncongruencias(List<Map<?, ?>> headerIncongruencias) {
		this.headerIncongruencias = headerIncongruencias;
	}

	public String getComentarios() {
		return comentarios;
	}
	
	public void setComentarios(String comentarios) {
		this.comentarios = comentarios;
	}

	public class Celda{
		private String valor;
		private String tooltip;
		private String fechaModificacion;
		private String usuarioModificacion;
		
		public Celda(String valor) {
			super();
			this.valor = valor;
		}
		

		public Celda(String valor, String tooltip, String fechaModificacion, String usuarioModificacion) {
			super();
			this.valor = valor;
			this.tooltip = tooltip;
			this.fechaModificacion = fechaModificacion;
			this.usuarioModificacion = usuarioModificacion;
		}

		public String getTooltip() {
			return tooltip;
		}
		public void setTooltip(String tooltip) {
			this.tooltip = tooltip;
		}
		public String getValor() {
			return valor;
		}
		public void setValor(String valor) {
			this.valor = valor;
		}

		public String getFechaModificacion() {
			return fechaModificacion;
		}

		public void setFechaModificacion(String fechaModificacion) {
			this.fechaModificacion = fechaModificacion;
		}

		public String getUsuarioModificacion() {
			return usuarioModificacion;
		}

		public void setUsuarioModificacion(String usuarioModificacion) {
			this.usuarioModificacion = usuarioModificacion;
		}
	}
}
